package cn.fl.ref.fncprjeaplysettle.transform;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.ref.fncprjeaplysettle.vo.FncPrjPayTbInfoVO;
import fl.ref.fncprjeaplysettle.dto.FncPrjPayTbInfoDTO;

/**
 * @Description: 还款表
 */
public class FncPrjPayTbInfoVOTransform {

	/**
	 * 分转元
	 * @param number
	 * @return
	 */
	public static BigDecimal fenToYuan(BigDecimal number){
		if(number!=null&&number!=new BigDecimal(0)){
			return number.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
		}
		return null;
	}
	
	/**
	 * 元转分
	 * @param number
	 * @return
	 */
	public static BigDecimal yuanToFen(BigDecimal number){
		if(number!=null&&number!=new BigDecimal(0)){
			return number.multiply(new BigDecimal(100));
		}
		return null;
	} 
	/**
	 * VO 转 DTO
	 * 
	 * @param vo
	 * @return
	 */
	public static FncPrjPayTbInfoDTO toDTO(FncPrjPayTbInfoVO vo) {
		FncPrjPayTbInfoDTO dto = null;
		if (vo != null) {
			dto = new FncPrjPayTbInfoDTO();
			dto.setId(vo.getId());
			dto.setPayPdEp(vo.getPayPdEp());
			dto.setPayTmEp(vo.getPayTmEp());
			//元转分
			dto.setCapitalEp(yuanToFen(vo.getCapitalEp()));
			dto.setInterestEp(yuanToFen(vo.getInterestEp()));
			dto.setRentalEp(yuanToFen(vo.getRentalEp())); 
			dto.setRentaledEp(yuanToFen(vo.getRentaledEp()));
			dto.setSrplsCapitalEp(yuanToFen(vo.getSrplsCapitalEp()));
			dto.setArCapital(yuanToFen(vo.getArCapital()));
			dto.setArInterest(yuanToFen(vo.getArInterest()));
		}
		return dto;
	}

	/**
	 * DTO 转 VO
	 * 
	 * @param dto
	 * @return
	 */
	public static FncPrjPayTbInfoVO toVO(FncPrjPayTbInfoDTO dto) {
		FncPrjPayTbInfoVO vo = null;
		if (dto != null) {
			vo = new FncPrjPayTbInfoVO();
			vo.setId(dto.getId());
			vo.setPayPdEp(dto.getPayPdEp());
			vo.setPayTmEp(dto.getPayTmEp());
			//分转元
			vo.setCapitalEp(fenToYuan(dto.getCapitalEp()));
			vo.setInterestEp(fenToYuan(dto.getInterestEp()));
			vo.setRentalEp(fenToYuan(dto.getRentalEp())); 
			vo.setRentaledEp(fenToYuan(dto.getRentaledEp()));
			vo.setSrplsCapitalEp(fenToYuan(dto.getSrplsCapitalEp()));
			vo.setArCapital(fenToYuan(dto.getArCapital()));
			vo.setArInterest(fenToYuan(dto.getArInterest()));
		}
		return vo;
	}

	/**
	 * VO集合 转 DTO集合
	 * 
	 * @param list
	 * @return
	 */
	public static List<FncPrjPayTbInfoDTO> toDTOList(List<FncPrjPayTbInfoVO> lstVo){
		List<FncPrjPayTbInfoDTO> dtoLst = new ArrayList<FncPrjPayTbInfoDTO>();
		if(lstVo!=null && lstVo.size()>0){
			for(FncPrjPayTbInfoVO vo : lstVo){
				FncPrjPayTbInfoDTO dto = toDTO(vo);
				dtoLst.add(dto);
			}
		}
		return dtoLst;
	}
	
	/**
	 * DTO集合 转 PO集合
	 * 
	 * @param list
	 * @return
	 */
	public static List<FncPrjPayTbInfoVO> toVOList(List<FncPrjPayTbInfoDTO> list) {
		List<FncPrjPayTbInfoVO> voList = new ArrayList<FncPrjPayTbInfoVO>();
		if (CollectionUtils.isNotEmpty(list)) {
			for (FncPrjPayTbInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

}
